package response

// WeiBoFormattedTopic 格式化后的微博热搜项
type WeiBoFormattedTopic struct {
	ID    string `json:"id"`
	Title string `json:"title"`
	Extra struct {
		Icon struct {
			URL string `json:"url"`
		} `json:"icon,omitempty"`
	} `json:"extra"`
	URL       string `json:"url"`
	MobileURL string `json:"mobileUrl"`
}

// WeiBoHotResponse 微博热搜响应结构
type WeiBoHotResponse struct {
	OK   int `json:"ok"`
	Data struct {
		Realtime []HotTopic `json:"realtime"`
		Hotgovs  []HotGov   `json:"hotgovs"`
	} `json:"data"`
}

// HotGov 官方热搜结构
type HotGov struct {
	Num                int    `json:"num"`
	Emoticon           string `json:"emoticon"`
	Icon               string `json:"icon,omitempty"`      // 通常是热搜话题的图标 URL ，例如一些带有特殊标识（如 “新”“爆” 等）的图标图片地址
	IconWidth          int    `json:"icon_width"`          // 表示图标对应宽度，用于前端展示时确定图标显示的尺寸
	IconHeight         int    `json:"icon_height"`         // 表示图标对应高度，用于前端展示时确定图标显示的尺寸
	IsAd               int    `json:"is_ad,omitempty"`     // 用于标识该热搜话题是否为广告，若值为1则可能是广告话题
	Note               string `json:"note"`                // 可能是关于热搜话题的一些备注信息，比如对话题热度的描述，或者是话题相关的其他说明内容
	SmallIconDesc      string `json:"small_icon_desc"`     // Icon 图标中的字体
	IconDesc           string `json:"icon_desc,omitempty"` // 对图标更详细的描述
	TopicFlag          int    `json:"topic_flag"`          // 话题标志，可能用于标识话题的类型或属性
	IconDescColor      string `json:"icon_desc_color"`     // 图标描述文字的颜色，用于前端展示时设置文字颜色。
	Flag               int    `json:"flag"`
	WordScheme         string `json:"word_scheme"`           // 可能是话题的关键词方案，也许是经过特殊处理或格式化后的话题关键词，用于搜索或分类等用途。
	SmallIconDescColor string `json:"small_icon_desc_color"` // 小图标描述文字的颜色，同样用于前端展示相关设置
	RealPos            int    `json:"realpos"`               // 可能表示话题在真实榜单中的位置
	LabelName          string `json:"label_name"`            // 话题的标签名称
	Word               string `json:"word"`                  // 热搜话题的具体文字内容，即用户看到的热搜词条名称
	Rank               int    `json:"rank"`                  // 话题的排名
}

// HotTopic 热搜话题结构
type HotTopic struct {
	Num                int    `json:"num"`
	Emoticon           string `json:"emoticon"`
	Icon               string `json:"icon,omitempty"`
	IconWidth          int    `json:"icon_width"`
	IconHeight         int    `json:"icon_height"`
	IsAd               int    `json:"is_ad,omitempty"`
	Note               string `json:"note"`
	SmallIconDesc      string `json:"small_icon_desc"`
	IconDesc           string `json:"icon_desc,omitempty"`
	TopicFlag          int    `json:"topic_flag"`
	IconDescColor      string `json:"icon_desc_color"`
	Flag               int    `json:"flag"`
	WordScheme         string `json:"word_scheme"`
	SmallIconDescColor string `json:"small_icon_desc_color"`
	RealPos            int    `json:"realpos"`
	LabelName          string `json:"label_name"`
	Word               string `json:"word"`
	Rank               int    `json:"rank"`
}
